package com.travelcloud.framework.exception;

import com.travelcloud.framework.enums.ResultCode;
import com.travelcloud.framework.enums.StatusCode;
import lombok.Getter;

/**
 * 接口异常
 *
 * @author Zee
 * @date 2020年6月10日
 */
@Getter
public class ApiException extends RuntimeException {
    private String code;
    private String msg;

    /**
     * 手动设置异常
     */
    public ApiException(StatusCode statusCode, String message) {
        // message用于用户设置抛出错误详情，例如：当前价格-5，小于0
        super(message);
        // 状态码
        this.code = statusCode.getCode();
        // 状态码配套的msg
        this.msg = statusCode.getMsg();
    }

    /**
     * 默认异常使用APP_ERROR状态码
     *
     * @param message
     */
    public ApiException(String message) {
        super(message);
        this.code = ResultCode.ERROR.getCode();
        this.msg = ResultCode.ERROR.getMsg();
    }

}
